package io;

import java.io.*;

public class IODemo10 {
    public static void main(String[] args) {
        //Read读
        try(Reader reader=new FileReader("./test.txt")){
            while(true){
                char[] buffer=new char[1024];
                int n=reader.read(buffer);
                if(n==-1){
                    //文件读取完毕了
                    break;
                }
                //如果文件内容是中文，可以基于字节数组构造成String
                String s=new String(buffer,0,n);
                System.out.println(s);
            }
        }  catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
    //关于文件内容是中文，中文每个字符是3个字节的utf8，但是此处读取来的每个字符为啥变成了2个字节？
    //char[] buffer=new char[1024];int n=reader.read(buffer);此处代码，相当于把当前文件的utf8在按照
    //字符读取的时候，先转成unicode，每个char存储的是对应的unicode的值
    //如果基于unicode最终还可以构造回utf8的String
    //过程就是utf8=>char[] unicode=>String utf8
}
